<?php

namespace home\model;

use framework\core\Model;

class registerModel extends Model
{
    protected $login_table= 'ask_user';

    //验证标题和描述是否合法
    public function checkData($data)
    {
        if (empty($data['username'])) {
            $this->error[] = "用户名不能为空！";
        } elseif (empty($data['email'])) {
            $this->error[] = "邮箱不能为空！";
        } else if ((int)$data['username'] != 0) {
            $this->error[] = "用户名不能为纯数字！";
        }
        if (empty($this->error)) {
            return true;
        } else {
            return false;
        }
    }

    //用户名验证
    public function yonghu($data)
    {
        //字符串长度
        $strlen = strlen($data['username']);
        //\x4E00-\x9FA5 表示中文
        if (!preg_match('/[\x4E00-\x9FA5\w]{2,14}/', $data['username'])) {
            $this->error[] = "用户名不合法";
            return false;
        } elseif (14 < $strlen || $strlen < 2) {//判断用户名长度2-14位
            $this->error[] = "用户名为2-14位";
        }
        if (empty($this->error)) {
            return true;
        } else {
            return false;
        }
    }

    //验证邮箱
    public function email($data){
        //@前面的字符可以是英文字母和._- ，._-不能放在开头和结尾，且不能连续出现
        $pattern = '/^[a-z0-9]+([._-][a-z0-9]+)*@([0-9a-z]+\.[a-z]{2,14}(\.[a-z]{2})?)$/i';
        if (preg_match($pattern, $data['email'])) {
            return true;
        } else {
            $this->error[] = '邮箱格式不正确！';
            return false;
        }
    }
    //验证密码
    public function Password($data){
        session_start();
        if (empty($data['password'])) {
            $this->error[] = "密码不能为空！";
        } else if ((int)$data['password'] != 0) {
            $this->error[] = "密码不能为纯数字！";
        }
//        }elseif($data['code']!=$_SESSION['code']){
//            $this->error[] = "验证码错误！";
//        }
        //字符串长度
        $strlen = strlen($data['password']);
        // 表示中文
        if (!preg_match('/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/', $data['password'])) {
            $this->error[] = "用户名不合法";
            return false;
        } elseif (116 < $strlen || $strlen < 6) {//判断用户名长度2-14位
            $this->error[] = "密码为6-16位";
        }
        if (empty($this->error)) {
            return true;
        } else {
            return false;
        }
    }
}